#ifndef LOGIN_H
#define LOGIN_H

#include <QWidget>
#include <QMessageBox>
#include "reg.h"
#include "ClickableLabel.h"
#include "../MainProject/common.h"

namespace Ui {
class Login;
}

class Login : public QWidget
{
    Q_OBJECT

public:
    static Login* getInstance(QWidget *parent = nullptr); // 获取单例实例
    ~Login();

signals:
    void loginSuccess(); // 登录成功信号
    void sendLogininformation(QString &userName,QString &role);

public slots:
    void on_loginButton_clicked();
    void on_registerButton_clicked();

private slots:
    void on_forgetButton_clicked();
    QString hashPassword(const QString& password);

private:
    explicit Login(QWidget *parent = nullptr); // 将构造函数设为私有
    static Login* instance; // 静态成员指针
    Ui::Login *ui;
    bool authenticate(const QString &username, const QString &password);
    Common common;
};

#endif // LOGIN_H
